/**
 * Project Name: mms-provider-user
 * File Name: IAccountService
 * Package Name: com.scb.dev.mms.service
 * Date: 2018/11/27 1:00 PM
 * Copyright (c) 2018, Wang, Haoyue All Rights Reserved.
 */
package com.scb.dev.mms.service;

import com.scb.dev.mms.common.ResponseResult;
import com.scb.dev.mms.dto.AccountFormDTO;
import com.scb.dev.mms.pojo.Account;

/**
 * ClassName: IAccountService
 * Description: AccountService 业务接口
 * Date: 2018/11/27 1:00 PM
 *
 * @author Wang, Haoyue
 * @version V1.0
 * @since JDK 1.8
 */
public interface IAccountService {

    /**
     * insertAccount: 添加新账户
     *
     * @param account  新账户对象
     * @return  操作成功: {true, "添加成功", 202}
     */
    ResponseResult insertAccount(Account account, String accountId);

    /**
     * deleteAccount: 通过账户ID删除账户
     *
     * @param accountId    账户ID
     * @return  操作成功: {true, "删除成功", 203}
     */
    ResponseResult deleteAccount(String accountId, String curr_accountId);

    /**
     * updateAccount: 更新账户信息
     *
     * @param account  账户对象
     * @return  操作成功: {true, "更新成功", 204}
     */
    ResponseResult updateAccount(Account account, String accoungId);

    /**
     * queryOne: 通过账户ID查询职员信息
     *
     * @param accountId    职员ID
     * @return  操作成功: {true, "查询成功", 201}
     */
    ResponseResult queryOne(String accountId);

    /**
     * queryName: 通过账户编号查询账户名称
     *
     * @param accountId    账户编号
     * @return  {true, "查询成功", 201}
     */
    ResponseResult queryName(String accountId);

    /**
     * queryAll: 查询所有账户
     *
     * @return  操作成功: {employeeList, true, "查询成功", 201}
     */
    ResponseResult queryAll();

    ResponseResult accountLogin(AccountFormDTO accountFormDTO);
}
